package com.stress.testing.agent.resolver;

import java.net.URL;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;

public interface AgentResourceResolver {
    String DEFAULT_PLUGIN_DIRECTORY_NAME = "plugins";
    String DEFAULT_EXTEND_LIB_DIRECTORY_NAME = "libs";
    String DEFAULT_AGENT_DEPENDENCE_DIRECTORY_NAME = "dependences";
    String DEFAULT_CONFIG_FILE_NAME = "agent.properties";
    String JAR_FILE_EXTENSION = "jar";
    String EXTENSION_SEPARATOR = ".";
    Pattern DEFAULT_AGENT_JAR_PATTERN = Pattern.compile("stress-testing-agent(-[0-9]+\\.[0-9]+\\.[0-9]+(\\-SNAPSHOT)?)?\\.jar");


    boolean resolve();

    String getAgentWorkspace();

    String getAgentJarName();

    String getAgentJarFullName();

    String getExtendLibPath();

    List<URL> getExtendLibURL();


    String getAgentDependencePath();

    List<URL> getAgentDependenceURL();


    String getAgentPluginPath();

    Map<String, List<URL>> getAgentPluginURL();

    String getAgentConfigFullName();
}
